package com.sybil.ot.dao;

import com.sybil.ot.dominio.Clase;
import com.sybil.ot.dominio.TipoTrabajo;
import java.util.List;
import org.hibernate.criterion.Restrictions;
import org.springframework.stereotype.Repository;

@Repository("tipoTrabajoDAO")
public class TipoTrabajoDAO extends AbstractDAO<TipoTrabajo, String> {

   public TipoTrabajoDAO() {
      super(TipoTrabajo.class);
   }

   public TipoTrabajo obtenerTipoTrabajo(String clave) {
      return obtener(clave);
   }

   public List<TipoTrabajo> obtenerTiposTrabajo(boolean soloActivo) {
      if (soloActivo) {
         return obtener(Restrictions.eq("activo", "S"));
      } else {
         return obtener();
      }
   }

   public void guardarTipoTrabajo(TipoTrabajo tipoTrabajo) {
      guardar(tipoTrabajo);
   }

   public void editarTipoTrabajo(TipoTrabajo tipoTrabajo) {
      editar(tipoTrabajo);
   }

   public void eliminarTipoTrabajo(TipoTrabajo tipoTrabajo) {
      eliminar(tipoTrabajo);
   }

   public List<TipoTrabajo> obtenerPorClase(String claveClase) {
      return obtener(Restrictions.eq("clase", new Clase(claveClase)));
   }
}
